#ifndef CVTCOLOR_H_
#define CVTCOLOR_H_

#include "../include/Effect.h"
#include <iostream>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/objdetect/objdetect.hpp>

using namespace std;
using namespace cv;


// Implements the CvtColor OpenCV effect.
class CvtColor : public Effect {

private:
	int codeValue; // The needed code value for the cvtColor effect

public:

	// Class constructor. Receives the effect's needed code value.
	CvtColor(int code);

	// Class destructor.
	virtual ~CvtColor(void);

	// Returns the given picture in grayscale.
	virtual void processEffect(Mat& src, Mat& dst);

};

#endif /* CVTCOLOR_H_ */
